Window Animations এবং Transitions

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Window এবং Dialog Boxes |

ExtJS একটি শক্তিশালী ফ্রন্টএন্ড ফ্রেমওয়ার্ক, যা ইউজার ইন্টারফেসের জন্য বিভিন্ন Window Animations এবং Transitions সাপোর্ট করে। এগুলি অ্যাপ্লিকেশনটির ইন্টারঅ্যাকশনকে আরো মসৃণ এবং আকর্ষণীয় করে তোলে, যাতে ইউজাররা ভাল অভিজ্ঞতা পায়। আপনি উইন্ডো, প্যানেল, গ্রিড এবং অন্যান্য কম্পোনেন্টে অ্যানিমেশন এবং ট্রানজিশন ব্যবহার করতে পারেন।

ExtJS Window Animations এবং Transitions কী?

  • Window Animations: একটি উইন্ডো খোলার বা বন্ধ করার সময় স্লাইড, ফেড, জুম বা অন্যান্য অ্যানিমেশন ইফেক্ট যোগ করা হয়। এগুলি সাধারণত ইউজার ইন্টারফেসে প্রাণ এনে দেয় এবং অ্যাপ্লিকেশনটির অভিজ্ঞতা উন্নত করে।
  • Transitions: এটি বিশেষ অ্যানিমেশন যা এক কম্পোনেন্ট থেকে অন্য কম্পোনেন্টে বা ভিউতে পরিবর্তন করার সময় ব্যবহৃত হয়। এটি সরাসরি ভিউ এবং কন্টেন্ট পরিবর্তন করতে সাহায্য করে।

ExtJS এ Window Animations এবং Transitions এর ব্যবহার

১. Window Animations

ExtJS-এ উইন্ডো অ্যানিমেশন সাধারণত Ext.window.Window কম্পোনেন্টের সাথে যুক্ত থাকে। window এর মাধ্যমে আপনি স্লাইড, ফেড, জুম, বা অন্যান্য অ্যানিমেশন প্রয়োগ করতে পারেন।

Animation ব্যবহার করার উদাহরণ:
Ext.create('Ext.window.Window', {
    title: 'Animated Window',
    width: 300,
    height: 200,
    layout: 'fit',
    items: [{
        xtype: 'panel',
        html: 'This is a window with animation.'
    }],
    animateTarget: Ext.getBody(), // আনার জন্য একটি টার্গেট
    listeners: {
        show: function(window) {
            // উইন্ডো শো হওয়ার সময় একটি অ্যানিমেশন
            window.el.animate({
                to: {
                    opacity: 1,
                    left: 100,
                    top: 100
                },
                duration: 1000
            });
        },
        hide: function(window) {
            // উইন্ডো হাইড হওয়ার সময় অ্যানিমেশন
            window.el.animate({
                to: {
                    opacity: 0,
                    left: 0,
                    top: 0
                },
                duration: 500
            });
        }
    }
}).show();
  • animateTarget: এটি নির্দেশ করে যে কোথা থেকে উইন্ডোটি স্লাইড হবে। এখানে Ext.getBody() টার্গেট হিসাবে ব্যবহার করা হয়েছে।
  • el.animate: উইন্ডোটি শো হওয়ার বা হাইড হওয়ার সময় অ্যানিমেশন প্রক্রিয়া চালানো হয়।

২. Window Slide In/Out

আপনি উইন্ডো স্লাইড ইন বা স্লাইড আউট করতে পারেন, যা একটি প্রচলিত অ্যানিমেশন প্রক্রিয়া।

Slide In/Out Example:
Ext.create('Ext.window.Window', {
    title: 'Slide In Window',
    width: 300,
    height: 200,
    layout: 'fit',
    items: [{
        xtype: 'panel',
        html: 'This window slides in and out!'
    }],
    listeners: {
        afterrender: function(window) {
            window.el.setOpacity(0);
            window.el.animate({
                to: {
                    opacity: 1,
                    left: '100px'  // স্লাইড করার জন্য নির্ধারণ
                },
                duration: 1000
            });
        },
        hide: function(window) {
            window.el.animate({
                to: {
                    opacity: 0,
                    left: '-300px'  // স্লাইড আউট করার জন্য নির্ধারণ
                },
                duration: 500
            });
        }
    }
}).show();

এই কোডে, উইন্ডোটি একটি স্লাইড ইন অ্যানিমেশনের মাধ্যমে প্রদর্শিত হবে এবং একটি স্লাইড আউট অ্যানিমেশনের মাধ্যমে লুকানো হবে।

৩. Transitions

Transitions বিশেষত মেনু, প্যানেল, বা পেজ ট্রানজিশন ঘটানোর জন্য ব্যবহৃত হয়, যেখানে একটি ভিউ থেকে অন্য ভিউতে মসৃণ পরিবর্তন ঘটে।

Transition Example:
Ext.create('Ext.container.Viewport', {
    layout: 'card',
    items: [{
        xtype: 'panel',
        html: 'This is the first panel.',
        title: 'Panel 1'
    }, {
        xtype: 'panel',
        html: 'This is the second panel.',
        title: 'Panel 2'
    }],
    listeners: {
        afterrender: function(viewport) {
            viewport.getLayout().setActiveItem(1); // Panel 2 তে ট্রানজিশন
        }
    }
});

এখানে layout: 'card' ব্যবহার করা হয়েছে, যা বিভিন্ন প্যানেলের মধ্যে স্লাইডিং ট্রানজিশন প্রভাব তৈরি করবে।

৪. Zoom In/Out Transition

Zoom Transition অনেক সময় ডেটা বা কন্টেন্ট ভিউ পরিবর্তনের জন্য ব্যবহৃত হয়। এটি একটি ভিউকে বড় বা ছোট করে ডায়নামিকভাবে ট্রানজিশন করে।

Zoom In/Out Example:
Ext.create('Ext.window.Window', {
    title: 'Zoom In Window',
    width: 300,
    height: 200,
    layout: 'fit',
    items: [{
        xtype: 'panel',
        html: 'This window will zoom in and out!'
    }],
    listeners: {
        afterrender: function(window) {
            window.el.setOpacity(0);
            window.el.animate({
                to: {
                    opacity: 1,
                    scale: 1.5
                },
                duration: 1000
            });
        },
        hide: function(window) {
            window.el.animate({
                to: {
                    opacity: 0,
                    scale: 0.5
                },
                duration: 500
            });
        }
    }
}).show();

এখানে, scale প্রপার্টি ব্যবহার করা হয়েছে যা উইন্ডোর সাইজ পরিবর্তন করতে সাহায্য করে এবং opacity পরিবর্তন করা হয়েছে।


ExtJS এ অন্যান্য Transitions এবং Animations

  1. Fade In/Out: কম্পোনেন্ট বা উইন্ডো ফেড ইন বা ফেড আউট হতে পারে।
  2. Slide Up/Down: উইন্ডো বা প্যানেল উপরে বা নিচে স্লাইড করা যায়।
  3. Rotate: উপাদানকে ঘোরানো (রোটেট) সম্ভব।

সারাংশ

  • Window Animations এবং Transitions ব্যবহার করে আপনি একে অপরের মধ্যে ভিজ্যুয়াল ট্রানজিশন এবং মসৃণ অ্যানিমেশন ইফেক্ট যুক্ত করতে পারেন, যা ইউজার এক্সপিরিয়েন্স উন্নত করতে সাহায্য করে।
  • ExtJS অ্যানিমেশন এবং ট্রানজিশন কনফিগারেশন প্লাগইন এবং মেথড যেমন animate, transition, slideIn, zoom প্রয়োগ করার জন্য সরবরাহ করে।
  • এই কাস্টমাইজেশন আপনাকে আরও ইন্টারঅ্যাকটিভ এবং প্রাণবন্ত ইউজার ইন্টারফেস তৈরি করতে সহায়ক।

ExtJS এর এই অ্যানিমেশন এবং ট্রানজিশন ফিচারগুলো আপনার অ্যাপ্লিকেশনকে আরও প্রফেশনাল এবং ইউজার-ফ্রেন্ডলি করে তোলে।

Content added By
Promotion